//
//  HACIndexEntry.h
//  Pods
//
//  Created by Hotacool on 2017/9/4.
//
//

#import "HACChartDataEntry.h"

@interface HACIndexEntry : HACChartDataEntry <NSCopying>
@property (nonatomic) NSInteger indexResultCount;
@property (nonatomic, strong) NSArray <NSNumber *> *indexResult;

/** 返回指标的最大值 */
- (CGFloat)maxIdxValue;
/** 返回指标的最大值，如果是全部无效值也会直接返回无效值，需要上层处理 */
- (CGFloat)minIdxValue;
/** 返回具体的指标值 */
- (CGFloat)getIdxFromIdxResult:(NSInteger)index;
@end

@interface HACKLineMAEntry : HACIndexEntry

@property (nonatomic, readonly) CGFloat ma1;
@property (nonatomic, readonly) CGFloat ma2;
@property (nonatomic, readonly) CGFloat ma3;
@property (nonatomic, readonly) CGFloat ma4;
@property (nonatomic, readonly) CGFloat ma5;
@property (nonatomic, readonly) CGFloat ma6;

@end

@interface HACTecMACDEntry : HACChartDataEntry

@property (nonatomic, assign) CGFloat dDIF;
@property (nonatomic, assign) CGFloat dDEA;
@property (nonatomic, assign) CGFloat dMacd;

@end

@interface HACTecKDJEntry : HACChartDataEntry
@property (nonatomic, assign) CGFloat K;
@property (nonatomic, assign) CGFloat D;
@property (nonatomic, assign) CGFloat J;
@end

@interface HACTecRSIEntry : HACChartDataEntry
@property (nonatomic, assign) CGFloat dRSI1;
@property (nonatomic, assign) CGFloat dRSI2;
@property (nonatomic, assign) CGFloat dRSI3;

@end

@interface HACTecBOLLEntry : HACChartDataEntry
@property (nonatomic, assign) CGFloat MB;
@property (nonatomic, assign) CGFloat UP;
@property (nonatomic, assign) CGFloat DN;
@end

@interface HACTecPSYEntry : HACChartDataEntry
@property (nonatomic, assign) CGFloat PSY;
@property (nonatomic, assign) CGFloat PSYMA;
@end

@interface HACTecOBVEntry : HACChartDataEntry
@property (nonatomic, assign) CGFloat OBV;
@property (nonatomic, assign) CGFloat OBVMA;
@end

@interface HACTecDMIEntry : HACChartDataEntry
@property (nonatomic, assign) CGFloat PDI;
@property (nonatomic, assign) CGFloat MDI;
@property (nonatomic, assign) CGFloat ADX;
@property (nonatomic, assign) CGFloat ADXR;
@end

@interface HACTecDMIDIEntry : HACChartDataEntry
@property (nonatomic, assign) CGFloat UPDM;
@property (nonatomic, assign) CGFloat DOWNDM;
@property (nonatomic, assign) CGFloat DX;
@property (nonatomic, assign) CGFloat TR;
@end

@interface HACTecWREntry : HACChartDataEntry
@property (nonatomic, assign) CGFloat W_R;
@property (nonatomic, assign) CGFloat W_R2;
@end

@interface HACTecASIEntry : HACChartDataEntry
@property (nonatomic, assign) CGFloat ASI;
@property (nonatomic, assign) CGFloat ASIMA;
@end

@interface HACTecDMAEntry : HACChartDataEntry
@property (nonatomic, assign) CGFloat DDD;
@property (nonatomic, assign) CGFloat AMA;
@end

@interface HACTecBIASEntry : HACChartDataEntry
@property (nonatomic, assign) CGFloat BIAS_0;
@property (nonatomic, assign) CGFloat BIAS_1;
@property (nonatomic, assign) CGFloat BIAS_2;
@end

@interface HACTecVREntry : HACChartDataEntry
@property (nonatomic, assign) CGFloat VR;
@end

@interface HACTecCCIEntry : HACChartDataEntry
@property (nonatomic, assign) CGFloat CCI;
@end

@interface HACTecCCITempEntry : HACChartDataEntry
@property (nonatomic, assign) CGFloat TP;//（最高价+最低价+收盘价）÷3
@property (nonatomic, assign) CGFloat MD;//中价与中价的N日内移动平均的差
@property (nonatomic, assign) CGFloat BIAS;//N日内中价的绝对偏差
@property (nonatomic, assign) CGFloat BIASMA;//N日内中价的平均绝对偏差

@end
